<?php
/**
 * <https://y.st./>
 * Copyright © 2017 Alex Yst <mailto:copyright@y.st>
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <https://www.gnu.org./licenses/>.
**/

$xhtml = array(
	'title' => 'Short on time',
	'body' => <<<END
<section id="advertisements">
	<h2>Unsponsored advertisements</h2>
	<p>
		Today&apos;s a cram day and I had work, so I don&apos;t have time to go into details.
		However, Bandcamp is going to be <a href="https://daily.bandcamp.com/2017/07/31/this-friday-stand-with-bandcamp-in-support-of-trans-rights/">donating all their proceeds for one day to support transgender rights</a>.
		Hopefully I&apos;ll post more about this later when I&apos;m not so short on time.
	</p>
</section>
<section id="general">
	<h2>General news</h2>
	<p>
		My <a href="/a/canary.txt">canary</a> still sings the tune of freedom and transparency.
	</p>
</section>
<section id="dreams">
	<h2>Dream journal</h2>
	<p>
		I only remember fragments of my dream.
		At one point, I was climbing on a fragile roof made from tree bows with two other people, trying to reack some spot in the roof where we could break in.
		At some point, we got in, and we were still in a natural area; we weren&apos;t really indoors even.
		There was a strange, blue crab.
		It was bright blue and shaped mostly like one of the typical, flat-bodied crabs (as opposed to, say, a hermit crab), aside from the fact that its flat body was raised up on a stalk of sorts.
		It was line a small, cylindrical body segment attached to the chest, and the legs were on that post.
		I was going to photograph it, but I didn&apos;t have my mobile on me.
		I headed out the front door.
		(If we could just come and go through the front door, why did we come in through the roof!?)
		I grabbed my mobile, but noticed that the battery was nearly dead.
		Trying to figure out why, I found the torch had been turned n accidentally, draining the battery.
		I also accidentally ripped my backpack, the clear plastic one I usually use for grocery shopping in the waking world.
		The tear ran all the way from the top, down one of the sides, making the thing useless.
		It&apos;d have to be replaced, and I thought about my waking-world plan to replace it.
		I&apos;ve actually been meaning to get a less-worn bag from a second-hand store in time for the festival, but I always forget when I&apos;m in the right store.
	</p>
</section>
<section id="university">
	<h2>University life</h2>
	<p>
		Finally, I made my very-late initial discussion post submission:
	</p>
	<blockquote>
		<p>
			Decoupling different functions of a program is often a good idea.
			By making a program modular, updating the program becomes much easier.
			An update in one module doesn&apos;t require changes throughout the entire program.
			Additionally, this allows different teams to work on different components simultaneously.
			All that&apos;s needed is a known $a[API] for the different parts to communicate.
			As new functionality is added, new $a[API] methods can be added to accommodate without touching the already-working $a[API] components.
			This layer of abstraction often provides flexibility, though it&apos;s arguable that it also makes the code more complex.
			Much of the <code>javax.swing</code> classes rely on the model-view-controller model to provide this decoupling.
		</p>
		<h3>Model</h3>
		<p>
			The model component is the one that actually solves a given problem.
			It takes input from the controller and provides output to the view, but does not directly interact with the user in any way.
			The model component could be plugged into different programs for different user interfaces, or to solve hard-coded problems.
		</p>
		<h3>View</h3>
		<p>
			The view module takes input from the model and displays it as output in some way to the user.
			Multiple views can be created for the same model, allowing for multiple representations of the same data.
		</p>
		<h3>Controller</h3>
		<p>
			The controller component accepts input from the user and provides output to the model.
			Often times, the controller will need to interpret and convert the data from the user before sending it to the model.
			This allows for multiple controllers that accept input in different forms and formats without any modifications to the model component.
			A controller can also communicate directly with the view though, not just indirectly through the model.
			This allows the controller to instruct the view to display the output in some other format.
		</p>
	</blockquote>
	<blockquote>
		<p>
			I think the model is capable of storing data when data-storage is needed, but I think it does the problem-solving as well.
			My understanding (which could be flawed) is that the model is the back end, the view is the output part of the front end, and the controller is the input part of the front end.
		</p>
	</blockquote>
</section>
END
);
